<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        姓：<input type="text" name="name" v-model="firstname">
        名：<input type="text" name="name" v-model="lastname">
        全名：{{addfn}}
        全名：{{addfn}}
        全名：{{addfn}}
        <br>
        其他:{{add}}

    </div>

    <script>
        Vue.config.productionTip = false;
        const vm = new Vue({
            el:'#app',
            data(){
                return{
                    firstname:"",
                    lastname:""
                }
            },
            //配置项不写在methods中
            computed:{
                //使用computed计算属性：
                    // - 监视一个或多个属性的变化
                    // - 目的是得到一个值

                //优势: 只有在监视的属性发生变化的时候，计算属性才会重新计算，否则每次使用这个属性的时候，直接读取的是上次计算的缓存结果
                addfn(){
                    console.log('合并的函数');
                    return this.firstname + '-'+this.lastname
                },

                //计算后的属性也在vm身上可以直接使用
                add(){
                    console.log('在上一次基础上增加');
                    return this.addfn + "在上一次基础上增加"
                }


            }
        })
    </script>
</body>
</html>